package com.bjpowernode.entity.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.bjpowernode.utils.converter.*;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 该类的字段是和Excel表格进行映射的
 *
 */
@Data
public class TClueDO {

    //该字段不要和Excel映射
    @ExcelIgnore
    private Integer createBy;

    /**
     * 负责人	所属活动	姓名	称呼	手机号
     * 微信号	QQ号	邮箱	年龄	职业	年收入
     * 地址	是否贷款	意向状态	意向产品	线索状态	线索来源
     * 线索描述	下次联系时间
     */

    /**
     * 线索所属人ID
     */
    @ExcelProperty(value = {"负责人"})
    private Integer ownerId;

    /**
     * 活动ID
     */
    @ExcelProperty(value = {"所属活动"})
    private Integer activityId;

    /**
     * 姓名
     */
    @ExcelProperty(value = {"姓名"})
    private String fullName;

    /**
     * 称呼
     */
    @ExcelProperty(value = {"称呼"}, converter = AppellationConverter.class)
    private Integer appellation;

    /**
     * 手机号
     */
    @ExcelProperty(value = {"手机号"})
    private String phone;

    /**
     * 微信号
     */
    @ExcelProperty(value = {"微信号"})
    private String weixin;

    /**
     * QQ号
     */
    @ExcelProperty(value = {"QQ号"})
    private String qq;

    /**
     * 邮箱
     */
    @ExcelProperty(value = {"邮箱"})
    private String email;

    /**
     * 年龄
     */
    @ExcelProperty(value = {"年龄"})
    private Integer age;

    /**
     * 职业
     */
    @ExcelProperty(value = {"职业"})
    private String job;

    /**
     * 年收入
     */
    @ExcelProperty(value = {"年收入"})
    private BigDecimal yearIncome;

    /**
     * 地址
     */
    @ExcelProperty(value = {"地址"})
    private String address;

    /**
     * 是否需要贷款（0不需要，1需要）
     */
    @ExcelProperty(value = {"是否贷款"}, converter = NeedLoanConverter.class)
    private Integer needLoan;

    /**
     * 意向状态
     */
    @ExcelProperty(value = {"意向状态"}, converter = IntentionStateConverter.class)
    private Integer intentionState;

    /**
     * 意向产品
     */
    @ExcelProperty(value = {"意向产品"}, converter = IntentionProductConverter.class)
    private Integer intentionProduct;

    /**
     * 线索状态
     */
    @ExcelProperty(value = {"线索状态"}, converter = StateConverter.class)
    private Integer state;

    /**
     * 线索来源
     */
    @ExcelProperty(value = {"线索来源"}, converter = SourceConverter.class)
    private Integer source;

    /**
     * 线索描述
     */
    @ExcelProperty(value = {"线索描述"})
    private String description;

    /**
     * 下次联系时间
     */
    @ExcelProperty(value = {"下次联系时间"})
    private Date nextContactTime;
}
